Workspace / Ask request_id req_7f3a9c21 graph_version 2026-06-04T09:00Z Reset
Request
Match
A structured request, not a chat. The system maps it to a registered intent — it never writes free-form queries.
Execution plan 5 steps · pending
1
Classify intent
deterministic router · temperature 0
selected from registered intents
selected assets_overdue_for_task 0.92 next-best assets_by_site 0.31 next-best asset_health_summary 0.18
2
Extract & validate parameters
typed · schema + allow-list checked
bound parameters
site_id"SITE-NORTH" · string · required ✓ task_code"LUBE-01" · string · required ✓
3
Run Cypher template assets_overdue_for_task@3 read-only
parameterized · cost & row guard ✓
bound query
MATCH (s:Site {id: $site_id})-[:CONTAINS]->(a:Asset) MATCH (a)<-[:TARGETS]-(wo:WorkOrder)-[:EXECUTES]->(t:MaintenanceTask {code: $task_code}) WHERE wo.due_date < date() AND wo.status <> 'CLOSED' RETURN a.id, a.name, wo.due_date, wo.status ORDER BY wo.due_date
node ids touched · 3 rows
a:1042a:1048a:1055
4
Enrich via tool snowflake_runtime_hours@2.1 read-only
source Snowflake · 612 ms · 1 attempt
input
{ "asset_ids": ["P-101","P-104","P-110"] }
output
{ "P-101": 7420, "P-104": 6980, "P-110": 3110 }
5
Assemble response & attach lineage
provenance stamped on every field
per-field provenance · example
field asset → "Pump P-101" source neo4j produced assets_overdue_for_task@3 · [a:1042] runtime snowflake_runtime_hours@2.1
Open results + lineage